布林值boolean: True/False *開頭字母要大寫!!
print(type(True))
print(type(False))
<class 'bool'>
<class 'bool'>
> < 比大小: 關係運算符號(關係運算子)
print(type(2>1))
print(type(2<1))
<class 'bool'>
<class 'bool'>
== : 等於等於才是等於
1==1
True
type(1==1)
bool
!= :不等於
1!=1
False
布林值 True 等於 int 1
布林值 False 等於 int 0
- True
-1
- False
0
邏輯運算: and/or/not
and
1 |
2 |
and |
T |
T |
T |
T |
F |
F |
F |
T |
F |
F |
F |
F |
print(True and True)
print(True and False)
print(False and True)
print(False and False)
True
False
False
False
or
1 |
2 |
or |
T |
T |
T |
T |
F |
T |
F |
T |
T |
F |
F |
F |
print(True or True)
print(True or False)
print(False or True)
print(False or False)
True
True
True
False
not
print(not(True))
print(not(False))
False
True
比大小+邏輯
1 |
2 |
and |
2>1 |
1==1 |
T |
2>1 |
1!=1 |
F |
2<1 |
1==1 |
F |
2<1 |
1!=1 |
F |
and
print(2>1 and 1==1)
print(2>1 and 1!=1)
print(2<1 and 1==1)
print(2<1 and 1!=1)
True
False
False
False
or
print(2>1 or 1==1)
print(2>1 or 1!=1)
print(2<1 or 1==1)
print(2<1 or 1!=1)
True
True
True
False
not / -
print(not 1==1)
print(not 1!=1)
False
True
print(- 1==1)
print(- 1!=1)
False
True
讀檔
點我下載:song_rank3.csv
import pandas as pd
with open('data/song_rank3.csv') as f:
p = pd.read_csv(f)
p
用布林值 選取資料
建立一條Series 值 1 2 3 4
ps = pd.Series([1,2,3,4])
ps
0 1
1 1
2 0
3 1
dtype: int64
建立 4個 布林值 T T F T
boolean = [True, True, False, True]
Series[bool] 只會留下True的
ps[boolean]
0 1
1 1
3 1
dtype: int64
計算排名中 獨唱曲有?首 合唱曲有?首
- 獨唱曲: art1欄 有值 and art2欄 NaN(Not a Number) -- 空值(null) == 遺漏值 ==
- 合唱曲: art1欄 有值 and art2欄 有值
所以其實只要看art2是否為空值 即可
是空值嗎 |
不是空值嗎 |
df.isnull( ) |
df.notnull( ) |
df.isna( ) |
df.notna( ) |
art2非空值者
p['art2'].notnull()
0 True
1 True
2 True
3 True
4 True
5 True
6 True
7 True
8 True
9 True
10 True
11 True
12 True
13 True
Name: art1, dtype: bool
a2 = p['art2'].notnull()
用df[bool] 取得 art2 不是空值的: 合唱曲
p[a2]
用 df[- bool] 取得 art2是空值的: 獨唱曲
p[-a2]
p[a2].count()
Rank 6
Hits 6
Song 6
Co 6
art1 6
art2 6
Artist 6
Date 6
Url 6
Artist2 6
dtype: int64
p[a2].art1.count()
6
p[-a2].art1.count()
8
計算排名中 獨唱曲有8首 合唱曲有6首
內容預告:
12 [R]布林值和表格條件選取
13 畫長條圖統計
14 [Python] for迴圈 和 matplotlib.pyplot 畫線圖
14 [R]for迴圈 和 ggplot 畫線圖
15 for 迴圈 和 html網頁資料解析 迴圈 和 html網頁資料解析